Reverse engineering reusable software components from object-oriented APIs

نویسندگان

  • Anas Shatnawi
  • Abdelhak-Djamel Seriai
  • Houari A. Sahraoui
  • Zakarea Alshara
چکیده

Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise, software components are accepted to be more reusable and understandable entities than object-oriented ones. Thus, in this paper, we propose an approach for reengineering objectoriented APIs into component-based ones. We mine components as a group of classes based on the frequency they are used together and their ability to form a quality-centric component. To validate our approach, we experimented on 100 Java applications that used Android APIs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Mining Software Components from Object-Oriented APIs

Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise, software components are admitted to be more reusable and understandable entities than object-oriented ones. Thus, in this paper, we propose an approach for reen...

متن کامل

Creating Reusable Software Component from Object-Oriented Legacy System through Reverse Engineering

Due to the constant change in technology, lack of standardization, difficulties of changes and absence of distributed architecture, the business value of legacy systems have become weaker. We cannot undermine the importance of legacy systems because some of their functions are too valuable to be discarded and too expensive to reproduce. The software industry and researchers have recently paid m...

متن کامل

Identifying Software Components from Object-Oriented APIs Based on Dynamic Analysis

The reuse at the component level is generallymore effective than the one at the object-oriented class level. This is due to the granularity level where components expose their functionalities at an abstract level compared to the fine-grained object-oriented classes. Moreover, components clearly define their dependencies through their provided and required interfaces in an explicit way that faci...

متن کامل

Inference of Inheritance Relationships from Prolog Programs: a System Developed with PrologIII

In order to support the object oriented design of reusable software components, we propose to extract an inheritance hierarchy from a Prolog prototype. The goal is to define a reverse engineering technique for recovering structural design information through the analysis of the Prolog prototype. Inheritance is an essential means in object oriented languages to express inclusion polymorphism (i....

متن کامل

A Pattern Language for Reverse Engineering

Abstract. This pattern language describes how to reverse engineer an object-oriented software system. Since the only way to achieve a truly reusable object-oriented design is recognised to be iterative development, reverse engineering is indeed an essential facet of any object-oriented development process. The pattern language itself covers the different phases one encounters when reverse engin...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Journal of Systems and Software

دوره 131  شماره 

صفحات  -

تاریخ انتشار 2017